<html>
<head><meta charset="utf-8"><title>meeting-2019-01-03 · t-lang/wg-unsafe-code-guidelines · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/index.html">t-lang/wg-unsafe-code-guidelines</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html">meeting-2019-01-03</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="154244537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154244537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154244537">(Jan 03 2019 at 15:06)</a>:</h4>
<p>Do we plan to meet today, <span class="user-group-mention" data-user-group-id="810">@WG-unsafe-code-guidelines</span> ?</p>



<a name="154244542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154244542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154244542">(Jan 03 2019 at 15:06)</a>:</h4>
<p>we have a calendar invite :)</p>



<a name="154244578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154244578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154244578">(Jan 03 2019 at 15:07)</a>:</h4>
<p>i'll be here</p>



<a name="154244659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154244659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154244659">(Jan 03 2019 at 15:08)</a>:</h4>
<p>I'm around.</p>



<a name="154246627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154246627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154246627">(Jan 03 2019 at 15:39)</a>:</h4>
<p>me too</p>



<a name="154249311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249311">(Jan 03 2019 at 16:21)</a>:</h4>
<p>so, what do we have to talk about?</p>



<a name="154249314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249314">(Jan 03 2019 at 16:21)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="810">@WG-unsafe-code-guidelines</span></p>



<a name="154249382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249382">(Jan 03 2019 at 16:22)</a>:</h4>
<p>we should merge the enum repr PR, or figure out if anything is blocking the merge</p>



<a name="154249389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249389">(Jan 03 2019 at 16:22)</a>:</h4>
<p>I guess the PRs are a good place to start, yeah</p>



<a name="154249404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249404">(Jan 03 2019 at 16:22)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> I am confused by what you said in your last comment there, why do you say the enum opt is not guaranteed to happen?</p>



<a name="154249406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249406">(Jan 03 2019 at 16:22)</a>:</h4>
<p>just because it is not normative?</p>



<a name="154249416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249416">(Jan 03 2019 at 16:22)</a>:</h4>
<p>the text otherwise seems pretty clear about it happening</p>



<a name="154249430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249430">(Jan 03 2019 at 16:23)</a>:</h4>
<p>yes, that's pretty much it</p>



<a name="154249435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249435">(Jan 03 2019 at 16:23)</a>:</h4>
<p>and the "not normative" just means "no RFC has happened yet", which is true and not something this document can change</p>



<a name="154249449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249449">(Jan 03 2019 at 16:23)</a>:</h4>
<p><span class="emoji emoji-1f44b" title="wave">:wave:</span> sorry was late</p>



<a name="154249505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249505">(Jan 03 2019 at 16:24)</a>:</h4>
<p>but <span class="user-mention" data-user-id="120791">@RalfJ</span> is asking the question I was in the midst of asking :)</p>



<a name="154249509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249509">(Jan 03 2019 at 16:24)</a>:</h4>
<p>we have identified that an RFC in this direction might be useful, we don't have to make that RFC part of the UCG, but it is probably worth it to raise that issue somewhere</p>



<a name="154249512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249512">(Jan 03 2019 at 16:24)</a>:</h4>
<p>(one related question : should we maybe keep a place to list out things we think ought to be RFC'd?)</p>



<a name="154249526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249526">(Jan 03 2019 at 16:24)</a>:</h4>
<p>my general plan <span class="user-mention" data-user-id="132920">@gnzlbg</span> is for these documents to become RFCs once we've gotten enough of a "coherent whole"</p>



<a name="154249530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249530">(Jan 03 2019 at 16:25)</a>:</h4>
<p>we could have issues for that, and a tag to collect them? like, one issue per to-be-RFC?</p>



<a name="154249534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249534">(Jan 03 2019 at 16:25)</a>:</h4>
<p>but maybe it's worth trying to catalog the bits so we can decide how to carve those up</p>



<a name="154249540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249540">(Jan 03 2019 at 16:25)</a>:</h4>
<p>we could use issues</p>



<a name="154249550"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249550" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249550">(Jan 03 2019 at 16:25)</a>:</h4>
<p>seems like a fine place to start</p>



<a name="154249557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249557">(Jan 03 2019 at 16:25)</a>:</h4>
<p>although I think maybe it belongs rather in the text</p>



<a name="154249575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249575">(Jan 03 2019 at 16:25)</a>:</h4>
<p>i think issues are fine, my point was only that we should write those down somewhere</p>



<a name="154249581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249581">(Jan 03 2019 at 16:25)</a>:</h4>
<p>(i.e., all the things we plan to "RFC" ought to be written in the text in some place in a "non-normative" fashion, so maybe we should maintain the list using PRs)</p>



<a name="154249590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249590">(Jan 03 2019 at 16:25)</a>:</h4>
<p>another point is that most of the stuff in "reference" needs an RFC</p>



<a name="154249596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249596">(Jan 03 2019 at 16:26)</a>:</h4>
<p>I mean there's no RFC saying union fields have offset 0</p>



<a name="154249645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249645">(Jan 03 2019 at 16:26)</a>:</h4>
<p>and while there's no other choice, it might still be worth RFC-ing</p>



<a name="154249646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249646">(Jan 03 2019 at 16:26)</a>:</h4>
<p>yes, so some part of me feels like we should just do a sweep afterwards</p>



<a name="154249651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249651">(Jan 03 2019 at 16:26)</a>:</h4>
<p>since it's kind of "everything"</p>



<a name="154249653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249653">(Jan 03 2019 at 16:26)</a>:</h4>
<p>I think a lot of these issues are going to be part of the first UCG RFC</p>



<a name="154249668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249668">(Jan 03 2019 at 16:26)</a>:</h4>
<p>so are we going to have an UCG WG RFC PR? need moar acronyms :P</p>



<a name="154249676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249676">(Jan 03 2019 at 16:27)</a>:</h4>
<p>but maybe it might be worth it to put some of these on independent RFCs, some of which could be happening already (e.g. Option-like layout optimizations)</p>



<a name="154249699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249699">(Jan 03 2019 at 16:27)</a>:</h4>
<p>IIRC eddyb was interested in guaranteeing some of the enum optimizations that enough code is already relying on</p>



<a name="154249710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249710">(Jan 03 2019 at 16:27)</a>:</h4>
<p>yeah</p>



<a name="154249758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249758">(Jan 03 2019 at 16:28)</a>:</h4>
<p>okay so let's merge this one then?</p>



<a name="154249764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249764">(Jan 03 2019 at 16:28)</a>:</h4>
<p>it seems better to carve out independent questions where we can</p>



<a name="154249770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249770">(Jan 03 2019 at 16:28)</a>:</h4>
<p>and lets open an issue or add a document with a list of things that should be RFC'ed somewhere ?</p>



<a name="154249782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249782">(Jan 03 2019 at 16:28)</a>:</h4>
<p>I am <span class="emoji emoji-1f44d" title="+1">:+1:</span> on merging for now, and I think we should make a list of potential RFCs -- I am happy to make it an issue for now, I guess, though I think maybe it would be a nice part of the document</p>



<a name="154249795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249795">(Jan 03 2019 at 16:29)</a>:</h4>
<p>anything that gives us a good list that we all can add items to</p>



<a name="154249796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249796">(Jan 03 2019 at 16:29)</a>:</h4>
<p>I feel like there could be a section basically listing out the justifications for each part</p>



<a name="154249808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249808">(Jan 03 2019 at 16:29)</a>:</h4>
<p>justifications?</p>



<a name="154249815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249815">(Jan 03 2019 at 16:29)</a>:</h4>
<p>(that is, RFC that justify declaring this to be true)</p>



<a name="154249819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249819">(Jan 03 2019 at 16:29)</a>:</h4>
<p>I'll open issues for now I guess, seems fine</p>



<a name="154249862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249862">(Jan 03 2019 at 16:30)</a>:</h4>
<p>ah, yes</p>



<a name="154249896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249896">(Jan 03 2019 at 16:30)</a>:</h4>
<p>so other open PRs ready to merge ?</p>



<a name="154249897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249897">(Jan 03 2019 at 16:30)</a>:</h4>
<p>the function ptr PR is waiting on <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span></p>



<a name="154249908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249908">(Jan 03 2019 at 16:30)</a>:</h4>
<p>what about <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58</a> ?</p>



<a name="154249915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249915">(Jan 03 2019 at 16:31)</a>:</h4>
<blockquote>
<p>the function ptr PR is waiting on <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span></p>
</blockquote>
<p>this is <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/45" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/45">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/45</a>, for reference</p>



<a name="154249917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249917">(Jan 03 2019 at 16:31)</a>:</h4>
<p>I think the only thing are a few nits? I can take a stab at making this perhaps</p>



<a name="154249924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249924">(Jan 03 2019 at 16:31)</a>:</h4>
<p>I'd like to move it to fcp</p>



<a name="154249960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249960">(Jan 03 2019 at 16:32)</a>:</h4>
<blockquote>
<p>what about <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58</a> ?</p>
</blockquote>
<p>I think this is good, let's merge</p>



<a name="154249979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249979">(Jan 03 2019 at 16:32)</a>:</h4>
<p>(I feel like we reached agreement on that the last time, right?)</p>



<a name="154249981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249981">(Jan 03 2019 at 16:32)</a>:</h4>
<p>sounds good, <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> wanted to fix the nits, but I'd guess holidays happened</p>



<a name="154249988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249988">(Jan 03 2019 at 16:32)</a>:</h4>
<p>yeah lol</p>



<a name="154249989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154249989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154249989">(Jan 03 2019 at 16:32)</a>:</h4>
<p>sorry</p>



<a name="154250003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250003">(Jan 03 2019 at 16:32)</a>:</h4>
<p>I'm also game to wait :) just want to keep things moving, seems like a rote task.</p>



<a name="154250015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250015">(Jan 03 2019 at 16:33)</a>:</h4>
<p>okay <span class="user-mention" data-user-id="116009">@nikomatsakis</span> and <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> can coordinate about finishing that one :)</p>



<a name="154250017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250017">(Jan 03 2019 at 16:33)</a>:</h4>
<p>what about <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/59" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/59">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/59</a> ?</p>



<a name="154250023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250023">(Jan 03 2019 at 16:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> about <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/58</a> - i wish we would just use layout in the document, but we probably need to use representation at least when explaining what <code>repr</code> stands for</p>



<a name="154250087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250087">(Jan 03 2019 at 16:34)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> the thing is we use representation everywhere, so I documented the de-facto state</p>



<a name="154250099"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250099" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250099">(Jan 03 2019 at 16:34)</a>:</h4>
<p>I am open to just using layout everywhere, but then we'll have to rename some files</p>



<a name="154250101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250101">(Jan 03 2019 at 16:34)</a>:</h4>
<p>do you want to open an issue?</p>



<a name="154250106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250106">(Jan 03 2019 at 16:34)</a>:</h4>
<p>I can do that</p>



<a name="154250119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250119">(Jan 03 2019 at 16:35)</a>:</h4>
<p>About <a href="https://github.com/rust-lang/rust/issues/59" target="_blank" title="https://github.com/rust-lang/rust/issues/59">#59</a> i think it might make sense to make those changes together with the StackedBorrow changes, but I haven't read the StackedBorrow PR yet</p>



<a name="154250120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250120">(Jan 03 2019 at 16:35)</a>:</h4>
<blockquote>
<p>what about <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/59" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/59">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/59</a> ?</p>
</blockquote>
<p>I feel fine with the text, apart from the nit that this all sounds like the definition of "interior <em>mutation</em>" to me (versus "interior <em>mutability</em>")</p>



<a name="154250141"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250141" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250141">(Jan 03 2019 at 16:35)</a>:</h4>
<p>to me, interior "mutability" is all about <code>UnsafeCell</code> -- that is, the declared <em>potential</em> for such mutation</p>



<a name="154250150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250150">(Jan 03 2019 at 16:35)</a>:</h4>
<p>But <a href="https://github.com/rust-lang/rust/issues/59" target="_blank" title="https://github.com/rust-lang/rust/issues/59">#59</a> is how miri already works in nightly, so I'm fine with doing that change now, maybe we can move it to FCP ?</p>



<a name="154250156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250156">(Jan 03 2019 at 16:35)</a>:</h4>
<p>(but I can leave those comments in the PR)</p>



<a name="154250199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250199">(Jan 03 2019 at 16:36)</a>:</h4>
<p>I somehow have the feeling that the PRs that happened right before christmas haven't received much attention, so I'd prefer to hold down on them a little</p>



<a name="154250201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250201">(Jan 03 2019 at 16:36)</a>:</h4>
<blockquote>
<p>to me, interior "mutability" is all about <code>UnsafeCell</code> -- that is, the declared <em>potential</em> for such mutation</p>
</blockquote>
<p>I can reword things a bit following that</p>



<a name="154250225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250225">(Jan 03 2019 at 16:37)</a>:</h4>
<p>we can leave it open another week, I don't care <em>shrug</em></p>



<a name="154250232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250232">(Jan 03 2019 at 16:37)</a>:</h4>
<blockquote>
<p>I am open to just using layout everywhere, but then we'll have to rename some files</p>
</blockquote>
<p>I wonder if we should use <em>representation</em> everywhere instead? Or maybe it's useful to use <em>representation</em> to refer only to the <code>#[repr]</code> attributes themselves (ie., the user specifies the "representation" (C, Rust, etc) which then affects the resulting <em>layout</em>)</p>



<a name="154250258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250258">(Jan 03 2019 at 16:37)</a>:</h4>
<p>not sure if I would make too much of that distinction, since the two words seem like synonyms, but it seems like a convention we could try to adhere to</p>



<a name="154250302"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250302" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250302">(Jan 03 2019 at 16:38)</a>:</h4>
<p>otoh I sort of prefer something like "<code>#[repr]</code> attribute", since it is so concrete</p>



<a name="154250307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250307">(Jan 03 2019 at 16:38)</a>:</h4>
<p>so never mind :)</p>



<a name="154250308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250308">(Jan 03 2019 at 16:38)</a>:</h4>
<p>I don't really understand the distinction, given that it seems entirley reasonable to imagine a <code>#[repr(_)]</code> that manually specifies all layout details</p>



<a name="154250347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250347">(Jan 03 2019 at 16:39)</a>:</h4>
<p>I'm not sure why that would matter. The distinction was basically "what did the user write" versus "what is the effect of that" -- but I prefer to say <code>#[repr]</code> for the former.</p>



<a name="154250355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250355">(Jan 03 2019 at 16:39)</a>:</h4>
<p>yeah seems wasteful and confusing to have totally different terms for syntax and semantics</p>



<a name="154250360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250360">(Jan 03 2019 at 16:39)</a>:</h4>
<p>e.g., you could imagine writing</p>
<blockquote>
<p>When an enum has C representation...</p>
</blockquote>
<p>vs</p>
<blockquote>
<p>When an enum is declared <code>#[repr(C)]</code>...</p>
</blockquote>



<a name="154250366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250366">(Jan 03 2019 at 16:39)</a>:</h4>
<p>though it is somewhat unfortunate that the attribute is not <code>#[layout]</code></p>



<a name="154250368"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250368" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250368">(Jan 03 2019 at 16:40)</a>:</h4>
<p>but the latter feels far more clear</p>



<a name="154250437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250437">(Jan 03 2019 at 16:40)</a>:</h4>
<blockquote>
<p>though it is somewhat unfortunate that the attribute is not <code>#[layout]</code></p>
</blockquote>
<p>yes, so, one could imagine centralizing on the <em>representation</em> instead</p>



<a name="154250442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250442">(Jan 03 2019 at 16:40)</a>:</h4>
<p>the compiler's "layout" notwithstanding</p>



<a name="154250452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250452">(Jan 03 2019 at 16:40)</a>:</h4>
<p>well then we have a mismatch with the compiler</p>



<a name="154250455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250455">(Jan 03 2019 at 16:40)</a>:</h4>
<p>the compiler data structures can be renamed</p>



<a name="154250456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250456">(Jan 03 2019 at 16:40)</a>:</h4>
<p>and also what I wrote about "representation" in the PR</p>



<a name="154250468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250468">(Jan 03 2019 at 16:41)</a>:</h4>
<blockquote>
<p>And @ubsan has some other ideas for what "representation" can mean: When relating mathematical values to objects in memory, a "representation" defines how mathematical objects map to bitstrings.</p>
</blockquote>



<a name="154250470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250470">(Jan 03 2019 at 16:41)</a>:</h4>
<p>(but I'm fine with just saying we use the terms interchangeably as well)</p>



<a name="154250481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250481">(Jan 03 2019 at 16:41)</a>:</h4>
<p>this is a common term when doing reasoning about programs</p>



<a name="154250482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250482">(Jan 03 2019 at 16:41)</a>:</h4>
<p>ah, yes, I remembered that there was a contested term, but I forgot which it was</p>



<a name="154250485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250485">(Jan 03 2019 at 16:41)</a>:</h4>
<p>yes, true.</p>



<a name="154250487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250487">(Jan 03 2019 at 16:41)</a>:</h4>
<p>if we centralize on _representation_ then we need a different word for relating mathematical objects to bitstrings</p>



<a name="154250489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250489">(Jan 03 2019 at 16:41)</a>:</h4>
<p>layout seems fine. who cares what the attribute says.</p>



<a name="154250495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250495">(Jan 03 2019 at 16:41)</a>:</h4>
<p>^^</p>



<a name="154250543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250543">(Jan 03 2019 at 16:42)</a>:</h4>
<p>for my other two PRs (the optimization and Stacked Borrows) I guess the only question at this point is whether this repo is the right place for this text</p>



<a name="154250548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250548">(Jan 03 2019 at 16:42)</a>:</h4>
<p>but I guess that means that the use of "representation" as a synonym is basically "deprecated"</p>



<a name="154250565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250565">(Jan 03 2019 at 16:42)</a>:</h4>
<blockquote>
<p>for my other two PRs (the optimization and Stacked Borrows) I guess the only question at this point is whether this repo is the right place for this text</p>
</blockquote>
<p>in the case of stacked borrows, at least, I think it is</p>



<a name="154250569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250569">(Jan 03 2019 at 16:42)</a>:</h4>
<p>suitably caveated</p>



<a name="154250575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250575">(Jan 03 2019 at 16:42)</a>:</h4>
<p>we can just change everything to use layout, except for <code>repr</code>, and maybe some day add <code>layout</code> as a synonym for <code>repr</code> and deprecate <code>repr</code> instead</p>



<a name="154250579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250579">(Jan 03 2019 at 16:43)</a>:</h4>
<p>it's in a "wip" directory currently, because I am not very creative</p>



<a name="154250584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250584">(Jan 03 2019 at 16:43)</a>:</h4>
<p>although we don't have to do it, we can just say that <code>repr</code> controls layout and that's it</p>



<a name="154250653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250653">(Jan 03 2019 at 16:44)</a>:</h4>
<p>re: stacked borrows, I feel like once we finish up with "validity invariants", it'll probably be a topic we start to discuss more broadly, hence the reason it belongs</p>



<a name="154250657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250657">(Jan 03 2019 at 16:44)</a>:</h4>
<p>I am fine with wip as a directory name:)</p>



<a name="154250681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250681">(Jan 03 2019 at 16:45)</a>:</h4>
<p>speaking of which, when can we officially transition to "validity invariants"?^^</p>



<a name="154250779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250779">(Jan 03 2019 at 16:47)</a>:</h4>
<p>I was going to raise that</p>



<a name="154250782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250782">(Jan 03 2019 at 16:47)</a>:</h4>
<p>we should do it I think</p>



<a name="154250786"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250786" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250786">(Jan 03 2019 at 16:47)</a>:</h4>
<p>hmm, is it reasonable to be able to write:</p>
<div class="codehilite"><pre><span></span>fn foo(x: fn(), y: DynamicLibrary) { // assume x ∈ y
  x();
  drop(y);
}
</pre></div>



<a name="154250794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250794">(Jan 03 2019 at 16:47)</a>:</h4>
<p>strictly speaking, we already merged <a href="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/54" target="_blank" title="https://github.com/rust-rfcs/unsafe-code-guidelines/pull/54">https://github.com/rust-rfcs/unsafe-code-guidelines/pull/54</a>...</p>



<a name="154250835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250835">(Jan 03 2019 at 16:48)</a>:</h4>
<p>...so what is needed to "officially transition"? Shift some labels and make an announcement, I guess?</p>



<a name="154250842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250842">(Jan 03 2019 at 16:48)</a>:</h4>
<p>Open the issues in question?</p>



<a name="154250847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250847">(Jan 03 2019 at 16:48)</a>:</h4>
<blockquote>
<p>Open the issues in question?</p>
</blockquote>
<p>that at least</p>



<a name="154250848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250848">(Jan 03 2019 at 16:48)</a>:</h4>
<p>otherwise, no idea^^</p>



<a name="154250876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250876">(Jan 03 2019 at 16:49)</a>:</h4>
<p><span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> where <code>drop</code> does <code>unmap</code> or so? ugh...</p>



<a name="154250878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250878">(Jan 03 2019 at 16:49)</a>:</h4>
<blockquote>
<p>hmm, is it reasonable to be able to write:</p>
</blockquote>
<p>given that <code>fn</code> pointers don't have lifetimes, I think we effectively ruled out the option of using them in this way, at least in safe code.</p>



<a name="154250882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250882">(Jan 03 2019 at 16:49)</a>:</h4>
<p>we did debate about giving them lifetimes to enable that pattern</p>



<a name="154250888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250888">(Jan 03 2019 at 16:49)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I'm not saying it's safe</p>



<a name="154250889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250889">(Jan 03 2019 at 16:49)</a>:</h4>
<p>but it was late in the 1.0 process and we kind of bailed on it</p>



<a name="154250891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250891">(Jan 03 2019 at 16:49)</a>:</h4>
<p>just valid</p>



<a name="154250897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250897">(Jan 03 2019 at 16:49)</a>:</h4>
<p>well, then it seems like a stacked borrows question to me :)</p>



<a name="154250898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250898">(Jan 03 2019 at 16:49)</a>:</h4>
<p>well this is not about returning the <code>fn()</code> to outside code... what <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> said</p>



<a name="154250905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250905">(Jan 03 2019 at 16:49)</a>:</h4>
<p>hm no there's no memory access</p>



<a name="154250908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250908">(Jan 03 2019 at 16:49)</a>:</h4>
<p>it's a validity invariant question</p>



<a name="154250911"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250911" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250911">(Jan 03 2019 at 16:50)</a>:</h4>
<p>you are accessing memory</p>



<a name="154250951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250951">(Jan 03 2019 at 16:50)</a>:</h4>
<p>the PC is changing</p>



<a name="154250959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250959">(Jan 03 2019 at 16:50)</a>:</h4>
<p>and the processor is loading the instruction at that new address</p>



<a name="154250967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250967">(Jan 03 2019 at 16:50)</a>:</h4>
<p>do fn ptrs have to point to dereferencable code memory, or so?</p>



<a name="154250972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250972">(Jan 03 2019 at 16:50)</a>:</h4>
<p>that is basically the question, right?</p>



<a name="154250981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250981">(Jan 03 2019 at 16:50)</a>:</h4>
<p>but <code>x</code> isn't used again after the <code>drop</code></p>



<a name="154250984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250984">(Jan 03 2019 at 16:50)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> could you open the issues for the validity discussions and tag them appropriately ?</p>



<a name="154250985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250985">(Jan 03 2019 at 16:50)</a>:</h4>
<p>like, it seems unreasonable to not allow this, given that I think it basically means hot loading becomes UB</p>



<a name="154250997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154250997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154250997">(Jan 03 2019 at 16:50)</a>:</h4>
<p><span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> only hot unloading</p>



<a name="154251002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251002">(Jan 03 2019 at 16:50)</a>:</h4>
<blockquote>
<p>but <code>x</code> isn't used again after the <code>drop</code></p>
</blockquote>
<p>basically I'm saying it comes down to a question of whether there are barriers</p>



<a name="154251017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251017">(Jan 03 2019 at 16:51)</a>:</h4>
<p>for <code>&amp;T</code> we say "must be derefencable", do we have something similar for <code>fn()</code>?</p>



<a name="154251026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251026">(Jan 03 2019 at 16:51)</a>:</h4>
<p>there's no <code>&amp;</code>, no lifetime, and also no size. so no barrier.</p>



<a name="154251027"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251027" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251027">(Jan 03 2019 at 16:51)</a>:</h4>
<p>at least I think fn pointers would likely have some similar modeling. I suspect it would we can craft the rules to make it ok or not as we choose.</p>



<a name="154251031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251031">(Jan 03 2019 at 16:51)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> sure</p>



<a name="154251035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251035">(Jan 03 2019 at 16:51)</a>:</h4>
<p>(I also think it's ok for it to be valid in unsafe code)</p>



<a name="154251036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251036">(Jan 03 2019 at 16:51)</a>:</h4>
<p><code>fn()</code> doesnt point to X bytes of data</p>



<a name="154251041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251041">(Jan 03 2019 at 16:51)</a>:</h4>
<p>Can the <code>x()</code> be re-ordered after the <code>drop(y)</code> ?</p>



<a name="154251048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251048">(Jan 03 2019 at 16:52)</a>:</h4>
<p>at least not where X is statically known</p>



<a name="154251083"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251083" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251083">(Jan 03 2019 at 16:52)</a>:</h4>
<p>also my cat is running around and just jumped over my computer, and locked it</p>



<a name="154251089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251089">(Jan 03 2019 at 16:52)</a>:</h4>
<p>I just thought that was cute</p>



<a name="154251090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251090">(Jan 03 2019 at 16:52)</a>:</h4>
<p>X is not dynamically determinable either</p>



<a name="154251103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251103">(Jan 03 2019 at 16:52)</a>:</h4>
<p>well, the compiler knows</p>



<a name="154251108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251108">(Jan 03 2019 at 16:52)</a>:</h4>
<p>but anyway not imporant</p>



<a name="154251112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251112">(Jan 03 2019 at 16:52)</a>:</h4>
<p>I think we all agree it should be ok, right?</p>



<a name="154251117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251117">(Jan 03 2019 at 16:52)</a>:</h4>
<p>yeah</p>



<a name="154251130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251130">(Jan 03 2019 at 16:53)</a>:</h4>
<p>I am not sure</p>



<a name="154251132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251132">(Jan 03 2019 at 16:53)</a>:</h4>
<p>i.e., I think that we'll have to be sure that future models respect it, as <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> noted it seems like it'd be needed in implementing wrappers around dynamic linking</p>



<a name="154251134"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251134" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251134">(Jan 03 2019 at 16:53)</a>:</h4>
<p>I don't see a reasonable optimization you can do, given that <code>&lt;DynamicLibrary as Drop&gt;::drop</code> is not a pure function</p>



<a name="154251136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251136">(Jan 03 2019 at 16:53)</a>:</h4>
<p>or at least it'd be good to know if there are LLVM opts or other things that would interfere</p>



<a name="154251138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251138">(Jan 03 2019 at 16:53)</a>:</h4>
<p>I always though fn ptrs must at least point to some allocated memory</p>



<a name="154251145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251145">(Jan 03 2019 at 16:53)</a>:</h4>
<p>but I also didnt think that would exclude anything reasonable</p>



<a name="154251162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251162">(Jan 03 2019 at 16:53)</a>:</h4>
<p>seems like a validity invariant question, regardless</p>



<a name="154251163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251163">(Jan 03 2019 at 16:53)</a>:</h4>
<p>and I doubt we'll want to allow the compiler to insert spurious calls to fn ptrs :P</p>



<a name="154251171"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251171" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251171">(Jan 03 2019 at 16:53)</a>:</h4>
<p>so, coming back to that topic of when to shift :)</p>



<a name="154251208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251208">(Jan 03 2019 at 16:54)</a>:</h4>
<p>I propose we...just do it</p>



<a name="154251214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251214">(Jan 03 2019 at 16:54)</a>:</h4>
<p>so yeah, this just means that fn ptr validity is even weaker than I thought. it's basically just "not NULL". seems fine.</p>



<a name="154251217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251217">(Jan 03 2019 at 16:54)</a>:</h4>
<p>alright, I'll write it down as a safety invariant but not a validity invariant</p>



<a name="154251231"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251231" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251231">(Jan 03 2019 at 16:54)</a>:</h4>
<p>safety invariant is clearly "can be called safely (meaning without causing UB) with safe arguments and will return safe result"</p>



<a name="154251233"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251233" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251233">(Jan 03 2019 at 16:54)</a>:</h4>
<p>but we wont be able to check that in Miri any time soon :P</p>



<a name="154251262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251262">(Jan 03 2019 at 16:55)</a>:</h4>
<p>cools</p>



<a name="154251275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251275">(Jan 03 2019 at 16:55)</a>:</h4>
<p>but we didn't specify any safety invariant anywhere I think? it's also quite hard to do so without a full-fledged program logic...</p>



<a name="154251319"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251319" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251319">(Jan 03 2019 at 16:56)</a>:</h4>
<p>I think it's worth stating informally</p>



<a name="154251324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251324">(Jan 03 2019 at 16:56)</a>:</h4>
<p>we should prob go back at some point</p>



<a name="154251326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251326">(Jan 03 2019 at 16:56)</a>:</h4>
<p>but I guess it makes sense to have approximations where we can, yeah</p>



<a name="154251328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251328">(Jan 03 2019 at 16:56)</a>:</h4>
<p>but it'd be nice to sort of write things like "if you are returning a value of type T to safe code, here is what you have to ensure"</p>



<a name="154251334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251334">(Jan 03 2019 at 16:56)</a>:</h4>
<p>..."and here are some common pitfalls" :)</p>



<a name="154251336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251336">(Jan 03 2019 at 16:56)</a>:</h4>
<p>"prove the following thing in Coq" :P</p>



<a name="154251341"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251341" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251341">(Jan 03 2019 at 16:56)</a>:</h4>
<p>lol</p>



<a name="154251347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251347">(Jan 03 2019 at 16:57)</a>:</h4>
<p>anyway I got to go, ttyl!</p>



<a name="154251349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251349">(Jan 03 2019 at 16:57)</a>:</h4>
<p>so I guess I will .. just switch the active area</p>



<a name="154251354"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251354" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251354">(Jan 03 2019 at 16:57)</a>:</h4>
<p>I'll figure out what that means but I think it's mostly opening some issues?</p>



<a name="154251356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251356">(Jan 03 2019 at 16:57)</a>:</h4>
<p>yes please :) I can help opening issues over the weekend</p>



<a name="154251358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251358">(Jan 03 2019 at 16:57)</a>:</h4>
<p>great</p>



<a name="154251361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251361">(Jan 03 2019 at 16:57)</a>:</h4>
<p>and probably tmr though I probabloy shouldnt...^^</p>



<a name="154251363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251363">(Jan 03 2019 at 16:57)</a>:</h4>
<p>:)</p>



<a name="154251365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251365">(Jan 03 2019 at 16:57)</a>:</h4>
<p><span class="emoji emoji-1f44b" title="wave">:wave:</span> thanks all</p>



<a name="154251367"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251367" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251367">(Jan 03 2019 at 16:57)</a>:</h4>
<p>I gotta go too</p>



<a name="154251379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251379">(Jan 03 2019 at 16:57)</a>:</h4>
<p>i won't be here next week</p>



<a name="154251381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251381">(Jan 03 2019 at 16:57)</a>:</h4>
<p>alright, committed and pushed the changes</p>



<a name="154251427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251427">(Jan 03 2019 at 16:58)</a>:</h4>
<p>issue about using layout consistently has been opened</p>



<a name="154251434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251434">(Jan 03 2019 at 16:58)</a>:</h4>
<p>i can a PR to do those changes later</p>



<a name="154251469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251469">(Jan 03 2019 at 16:59)</a>:</h4>
<p>so why can't function pointer validity require that they point to a valid function ?</p>



<a name="154251470"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251470" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251470">(Jan 03 2019 at 16:59)</a>:</h4>
<p>can someone do a TL;DR ?</p>



<a name="154251538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251538">(Jan 03 2019 at 17:00)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> requiring function pointers to point to a valid function would, imo, break dynamic loading</p>



<a name="154251546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251546">(Jan 03 2019 at 17:00)</a>:</h4>
<p>(assuming you want to be able to dynamically unload as well)</p>



<a name="154251555"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251555" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251555">(Jan 03 2019 at 17:00)</a>:</h4>
<p>I'd expect <span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> 's example to be UB, calling <code>drop</code>to unload functions is fine as long as there are no function pointers referring to those functions</p>



<a name="154251567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251567">(Jan 03 2019 at 17:01)</a>:</h4>
<p>that's not the case there, so that would be UB</p>



<a name="154251590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251590">(Jan 03 2019 at 17:01)</a>:</h4>
<p>but if you write a wrapper over a dynamic library, and control all your fn pointers somehow (e.g. reference count them), then it should be fine to drop the library if all pointers are dead</p>



<a name="154251880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251880">(Jan 03 2019 at 17:07)</a>:</h4>
<p><span class="user-mention" data-user-id="132920">@gnzlbg</span> I don't think that's reasonable, tbh</p>



<a name="154251887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251887">(Jan 03 2019 at 17:07)</a>:</h4>
<p>for unsafe code in specific</p>



<a name="154251897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251897">(Jan 03 2019 at 17:07)</a>:</h4>
<p>and, especially since I can't see a reasonable way to observe this through optimization</p>



<a name="154251957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251957">(Jan 03 2019 at 17:08)</a>:</h4>
<p>I mean, if one is doing dynamic hot loading, chances are that one is already using Option&lt;fn()&gt; everywhere for that</p>



<a name="154251980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251980">(Jan 03 2019 at 17:09)</a>:</h4>
<p>there are more issues with dynamic unloading anyway</p>



<a name="154251986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251986">(Jan 03 2019 at 17:09)</a>:</h4>
<p>e.g. <code>'static</code> does not work at <em>all</em>...</p>



<a name="154251997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154251997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154251997">(Jan 03 2019 at 17:09)</a>:</h4>
<p>Got an <code>fn foo() -&gt; &amp;'static str</code>? Well, you’re screwed if that str happens to be in an unloadable module...</p>



<a name="154252396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252396">(Jan 03 2019 at 17:17)</a>:</h4>
<p><span class="user-mention" data-user-id="123586">@nagisa</span> yes</p>



<a name="154252401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252401">(Jan 03 2019 at 17:17)</a>:</h4>
<p>that does not mean dynamic unloading isn't useful</p>



<a name="154252402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252402">(Jan 03 2019 at 17:17)</a>:</h4>
<p>oh hello friends--hope you had a happy new year</p>



<a name="154252404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252404">(Jan 03 2019 at 17:17)</a>:</h4>
<p>/me just woke up from an unexpected work nap</p>



<a name="154252407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nicole Mazzuca <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252407">(Jan 03 2019 at 17:17)</a>:</h4>
<p>and it does not mean we should disallow it</p>



<a name="154252412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> avadacatavra <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252412">(Jan 03 2019 at 17:17)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="120791">@RalfJ</span> <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="154252857"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252857" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alan Jeffrey <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252857">(Jan 03 2019 at 17:26)</a>:</h4>
<p>Just back from a last-minute meeting about something else, looks like you survived without me <span class="emoji emoji-263a" title="smile">:smile:</span></p>



<a name="154252870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252870">(Jan 03 2019 at 17:27)</a>:</h4>
<blockquote>
<p>/me just woke up from an unexpected work nap</p>
</blockquote>
<p>good day =)</p>



<a name="154252875"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252875" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252875">(Jan 03 2019 at 17:27)</a>:</h4>
<p>and yes, happy new year! <span class="emoji emoji-1f389" title="tada">:tada:</span></p>



<a name="154252878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154252878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154252878">(Jan 03 2019 at 17:27)</a>:</h4>
<p><span class="emoji emoji-1f386" title="fireworks">:fireworks:</span></p>



<a name="154255580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154255580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154255580">(Jan 03 2019 at 18:13)</a>:</h4>
<p><span class="user-mention" data-user-id="125253">@Nicole Mazzuca</span> requiring valid <code>fn()</code>s to be callable doesn't make unloading impossible</p>



<a name="154255795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154255795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> gnzlbg <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154255795">(Jan 03 2019 at 18:16)</a>:</h4>
<p>one just needs to be more careful about how to construct <code>fn</code>s from hot loaded libraries and when those libraries can actually be unloaded, but it appears that one already has to be very careful here any ways</p>



<a name="154255939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154255939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154255939">(Jan 03 2019 at 18:19)</a>:</h4>
<p>what is the gain from this requirement?</p>



<a name="154255943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154255943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154255943">(Jan 03 2019 at 18:19)</a>:</h4>
<p>I'd like to hear that question answered</p>



<a name="154255947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03/near/154255947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/136281-t-lang/wg-unsafe-code-guidelines/topic/meeting-2019-01-03.html#154255947">(Jan 03 2019 at 18:19)</a>:</h4>
<p>also, we should probably break this out into a separate topic</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>